<%--
    Страница для импорта списка товаров их 1С (Excel)
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<%@taglib prefix="a4j" uri="http://richfaces.org/a4j" %>
<%@taglib prefix="rich" uri="http://richfaces.org/rich" %>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <meta HTTP-EQUIV="Cache-Control" CONTENT="must-revalidate">
    <meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
    <meta HTTP-EQUIV="Cache-Control" CONTENT="no-store">
    <title>Goodwill - Импорт товаров из 1С</title>
    <link rel="stylesheet" href="resources/css/main.css"/>
    <link rel="stylesheet" href="resources/css/stylesheet.css"/>
    <style type="text/css">
        .pane
        {
            margin-top:20px;
            padding:10px;
        }
    </style>
</head>
<body>
<f:view>

    <h:form>
        <jsp:include page="menu.jsp"/>
    </h:form>
    
    <jsp:include page="status.jsp"/>
    <jsp:include page="messages.jsp"/>
    
    <h:panelGroup layout="block" styleClass="">
        <h:form>
            <h:outputText value="Загрузка товаров из 1С" style="font-weight:bold;font-size:120%"/>
            <h:commandLink action="#{ImportGoodsBean.reset}" value="Начать заново" style="margin-left:10px"/>
            <rich:separator/>
        </h:form>
    </h:panelGroup>

    <h:panelGroup layout="block" styleClass="pane" rendered="#{ImportGoodsBean.isStateStart}">
        <h:form>
            <h:outputText value="На данный момент:"/>
            <h:panelGrid columns="2" cellpadding="5" cellspacing="5" columnClasses="dleft,dright">
                <h:outputText value="Товаров в ИС" styleClass="b"/>
                <h:outputText value="#{ImportGoodsBean.isGoodsCount}"/>
                <h:outputText value="Из них в 1С отсутствуют" styleClass="b"/>
                <h:commandLink action="#{ImportGoodsBean.showBadGoods}">
                    <h:outputText value="#{ImportGoodsBean.isBadGoodsCount}"/>
                </h:commandLink>
            </h:panelGrid>
            <h:commandButton action="#{ImportGoodsBean.showUpload}" value="Загрузить товары из 1С" style="font-weight:bold;"/>
        </h:form>
    </h:panelGroup>

    <h:panelGroup layout="block" styleClass="pane" rendered="#{ImportGoodsBean.isStateShowBadGoods}">

        <h:form>
            <h:commandLink action="#{ImportGoodsBean.showStart}" value="назад"/><br>
            <h:outputText value="Товары, для которых не установлено 1С соответствие:"/>
            <rich:dataTable value="#{ImportGoodsBean.badGoods}" var="good">
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Код"/>
                    </f:facet>
                    <h:outputText value="#{good.code}"/>
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Наименование"/>
                    </f:facet>
                    <h:outputText value="#{good.name}"/>
                </rich:column>
            </rich:dataTable>
        </h:form>
    </h:panelGroup>

    <h:panelGroup layout="block" styleClass="pane" rendered="#{ImportGoodsBean.isStateShowUpload}">
        <h:form enctype="multipart/form-data">
            <h:panelGroup layout="block" styleClass="">
                <h:outputText value="Для загрузки товаров из 1С Вам необходимо подготовить файл, который имел бы следюущую структуру:"/><br>
                <h:outputText value=" - Три колонки: \"goodCode1C\" (код товара в 1С), \"goodCodeIS\" (код товара в ИС), \"Naimenovanie\" (наименование товара в 1С)"/><br>
                <h:outputText value=" - Первая строчка должна содержать шапку"/><br>
                <h:outputText value=" - Все ячейки должны быть заполнены"/>
            </h:panelGroup>
            <h:panelGroup layout="block" styleClass="" style="margin-top:10px;">
                <h:outputText value="Пример такого файла:"/><br>
                <h:graphicImage value="/resources/img/examples/import_rests.png" style="border:1px solid black"/>
            </h:panelGroup>
            <h:panelGroup layout="block" styleClass="" style="margin-top:10px;">
                <h:outputText value="Выберите файл" styleClass="b"/><br>
                <t:inputFileUpload id="file"
                                   style="border:1px solid black;background:whitesmoke;width:200px"
                                   value="#{ImportGoodsBean.uploadedFile}"
                                   storage="file"/>
                <h:commandButton value="Загрузить" action="#{ImportGoodsBean.upload}"/>
            </h:panelGroup>
        </h:form>
    </h:panelGroup>

    <h:panelGroup layout="block" styleClass="pane" rendered="#{ImportGoodsBean.isStatePreview}">
        <h:form>
            <h:outputText value="В файле присутствуют коды для #{ImportGoodsBean.itemsSize} товаров"/><br>
            <h:outputText value="Если применить изменения, то:" styleClass="b" style="margin-top:5px;"/>

            <h:panelGrid columns="2" cellpadding="0" cellspacing="0" columnClasses="dleft,dright">
                <h:panelGroup>
                    <h:outputText value="Новые коды" style="font-size:100%"/>
                </h:panelGroup>
                <h:panelGroup>
                    <h:commandLink action="#{ImportGoodsBean.showPreviewNew}" value="#{ImportGoodsBean.list_newSize}"/>
                </h:panelGroup>

                <h:panelGroup>
                    <h:outputText value="Измененные коды" style="font-size:100%"/>
                </h:panelGroup>
                <h:panelGroup>
                    <h:commandLink action="#{ImportGoodsBean.showPreviewChanged}" value="#{ImportGoodsBean.list_changedSize}"/>
                </h:panelGroup>

                <h:panelGroup>
                    <h:outputText value="Старые коды" style="font-size:100%"/>
                </h:panelGroup>
                <h:panelGroup>
                    <h:commandLink action="#{ImportGoodsBean.showPreviewOld}"  value="#{ImportGoodsBean.list_oldSize}"/>
                </h:panelGroup>

                <h:panelGroup>
                    <h:outputText value="Без кода"/>
                </h:panelGroup>
                <h:panelGroup>
                    <h:commandLink action="#{ImportGoodsBean.showPreviewMissing}"  value="#{ImportGoodsBean.list_missedSize}"/>
                </h:panelGroup>
            </h:panelGrid>

            <h:commandButton value="Загрузить" action="#{ImportGoodsBean.apply1CCodes}" style="margin-top:10px"/>

        </h:form>
    </h:panelGroup>

    <h:panelGroup layout="block" styleClass="pane" rendered="#{ImportGoodsBean.isStatePreviewNew || ImportGoodsBean.isStatePreviewOld || ImportGoodsBean.isStatePreviewChanged || ImportGoodsBean.isStatePreviewMissing}">
        <h:form>
            <h:outputText value="#{ImportGoodsBean.currentPreviewName}" style="font-size:110%;font-weight:bold"/>
            <h:commandLink value="Назад" action="#{ImportGoodsBean.showPreview}" style="margin-left:5px"/><br>

            <h:outputText value="<b>Количество: </b>#{ImportGoodsBean.currentPreviewSize}" escape="false"/>
            <rich:dataTable value="#{ImportGoodsBean.currentPreview}" var="item" rendered="#{ImportGoodsBean.currentPreviewSize > 0}">
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Код ИС"/>
                    </f:facet>
                    <h:outputText value="#{item.codeIS}"/>
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Код 1C (старый)"/>
                    </f:facet>
                    <h:outputText value="#{item.code1C_old}"/>
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Код 1C (новый)"/>
                    </f:facet>
                    <h:outputText value="#{item.code1C_new}"/>
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Наименование в ИС"/>
                    </f:facet>
                    <h:outputText value="#{item.nameIS}"/>
                </rich:column>
                <rich:column>
                    <f:facet name="header">
                        <h:outputText value="Наименование в 1С"/>
                    </f:facet>
                    <h:outputText value="#{item.name1С}"/>
                </rich:column>
            </rich:dataTable>
        </h:form>
    </h:panelGroup>

    <h:panelGroup layout="block" styleClass="pane" rendered="#{ImportGoodsBean.isStateFinished}">
        <h:outputText value="Импорт завершен" style="font-size:110%;font-weight:bold"/><br>
        <h:outputText value="Успешно обновлено: #{ImportGoodsBean.updatedSuccessfulyCount}"/><br>
        <h:outputText value="Ошибок: #{ImportGoodsBean.updatedWithErrorCount}"/><br>

        <h:outputLink value="GoodsPage.jsf">Перейти на страницу товаров</h:outputLink>
    </h:panelGroup>

</f:view>
</body>
<head>
    <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <meta HTTP-EQUIV="Cache-Control" CONTENT="must-revalidate">
    <meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
    <meta HTTP-EQUIV="Cache-Control" CONTENT="no-store">
</head>
</html>